GitHub Access Token became invalid

It seems like the GitHub access token used for retrieving details about this repository from GitHub became invalid. This might prevent certain types of inspections from being run (in particular, everything related to pull requests).
Please ask an admin of your repository to re-new the access token on this website.

registerServiceWorker.js ➔ ... ➔ ???   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 19

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 1
c 1
b 0
f 0
nc 1
dl 0
loc 19
rs 9.4285
nop 0
1
// In production, we register a service worker to serve assets from local cache.
2
3
// This lets the app load faster on subsequent visits in production, and gives
4
// it offline capabilities. However, it also means that developers (and users)
5
// will only see deployed updates on the "N+1" visit to a page, since previously
6
// cached resources are updated in the background.
7
8
// To learn more about the benefits of this model, read https://goo.gl/KwvDNy.
9
// This link also includes instructions on opting out of this behavior.
10
11
const isLocalhost = Boolean(
12
  window.location.hostname === 'localhost' ||
13
    // [::1] is the IPv6 localhost address.
14
    window.location.hostname === '[::1]' ||
15
    // 127.0.0.1/8 is considered localhost for IPv4.
16
    window.location.hostname.match(
17
      /^127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/
18
    )
19
);
20
21
export default function register() {
22
  if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {
0 ignored issues
show
Bug introduced by
The variable navigator seems to be never declared. If this is a global, consider adding a /** global: navigator */ comment.

This checks looks for references to variables that have not been declared. This is most likey a typographical error or a variable has been renamed.

To learn more about declaring variables in Javascript, see the MDN.

Loading history...
23
    // The URL constructor is available in all browsers that support SW.
24
    const publicUrl = new URL(process.env.PUBLIC_URL, window.location);
0 ignored issues
show
Bug introduced by
The variable URL seems to be never declared. If this is a global, consider adding a /** global: URL */ comment.

This checks looks for references to variables that have not been declared. This is most likey a typographical error or a variable has been renamed.

To learn more about declaring variables in Javascript, see the MDN.

Loading history...
25
    if (publicUrl.origin !== window.location.origin) {
26
      // Our service worker won't work if PUBLIC_URL is on a different origin
27
      // from what our page is served on. This might happen if a CDN is used to
28
      // serve assets; see https://github.com/facebookincubator/create-react-app/issues/2374
29
      return;
30
    }
31
32
    window.addEventListener('load', () => {
33
      const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;
34
35
      if (isLocalhost) {
36
        // This is running on localhost. Lets check if a service worker still exists or not.
37
        checkValidServiceWorker(swUrl);
38
39
        // Add some additional logging to localhost, pointing developers to the
40
        // service worker/PWA documentation.
41
        navigator.serviceWorker.ready.then(() => {
0 ignored issues
show
Bug introduced by
The variable navigator seems to be never declared. If this is a global, consider adding a /** global: navigator */ comment.

This checks looks for references to variables that have not been declared. This is most likey a typographical error or a variable has been renamed.

To learn more about declaring variables in Javascript, see the MDN.

Loading history...
42
          console.log(
0 ignored issues
show
Debugging Code introduced by
console.log looks like debug code. Are you sure you do not want to remove it?
Loading history...
43
            'This web app is being served cache-first by a service ' +
44
              'worker. To learn more, visit https://goo.gl/SC7cgQ'
45
          );
46
        });
47
      } else {
48
        // Is not local host. Just register service worker
49
        registerValidSW(swUrl);
50
      }
51
    });
52
  }
53
}
54
55
function registerValidSW(swUrl) {
56
  navigator.serviceWorker
0 ignored issues
show
Bug introduced by
The variable navigator seems to be never declared. If this is a global, consider adding a /** global: navigator */ comment.

This checks looks for references to variables that have not been declared. This is most likey a typographical error or a variable has been renamed.

To learn more about declaring variables in Javascript, see the MDN.

Loading history...
57
    .register(swUrl)
58
    .then(registration => {
59
      registration.onupdatefound = () => {
60
        const installingWorker = registration.installing;
61
        installingWorker.onstatechange = () => {
62
          if (installingWorker.state === 'installed') {
63
            if (navigator.serviceWorker.controller) {
0 ignored issues
show
Bug introduced by
The variable navigator seems to be never declared. If this is a global, consider adding a /** global: navigator */ comment.

This checks looks for references to variables that have not been declared. This is most likey a typographical error or a variable has been renamed.

To learn more about declaring variables in Javascript, see the MDN.

Loading history...
64
              // At this point, the old content will have been purged and
65
              // the fresh content will have been added to the cache.
66
              // It's the perfect time to display a "New content is
67
              // available; please refresh." message in your web app.
68
              console.log('New content is available; please refresh.');
0 ignored issues
show
Debugging Code introduced by
console.log looks like debug code. Are you sure you do not want to remove it?
Loading history...
69
            } else {
70
              // At this point, everything has been precached.
71
              // It's the perfect time to display a
72
              // "Content is cached for offline use." message.
73
              console.log('Content is cached for offline use.');
74
            }
75
          }
76
        };
77
      };
78
    })
79
    .catch(error => {
80
      console.error('Error during service worker registration:', error);
81
    });
82
}
83
84
function checkValidServiceWorker(swUrl) {
85
  // Check if the service worker can be found. If it can't reload the page.
86
  fetch(swUrl)
87
    .then(response => {
88
      // Ensure service worker exists, and that we really are getting a JS file.
89
      if (
90
        response.status === 404 ||
91
        response.headers.get('content-type').indexOf('javascript') === -1
92
      ) {
93
        // No service worker found. Probably a different app. Reload the page.
94
        navigator.serviceWorker.ready.then(registration => {
0 ignored issues
show
Bug introduced by
The variable navigator seems to be never declared. If this is a global, consider adding a /** global: navigator */ comment.

This checks looks for references to variables that have not been declared. This is most likey a typographical error or a variable has been renamed.

To learn more about declaring variables in Javascript, see the MDN.

Loading history...
95
          registration.unregister().then(() => {
96
            window.location.reload();
97
          });
98
        });
99
      } else {
100
        // Service worker found. Proceed as normal.
101
        registerValidSW(swUrl);
102
      }
103
    })
104
    .catch(() => {
105
      console.log(
0 ignored issues
show
Debugging Code introduced by
console.log looks like debug code. Are you sure you do not want to remove it?
Loading history...
106
        'No internet connection found. App is running in offline mode.'
107
      );
108
    });
109
}
110
111
export function unregister() {
112
  if ('serviceWorker' in navigator) {
0 ignored issues
show
Bug introduced by
The variable navigator seems to be never declared. If this is a global, consider adding a /** global: navigator */ comment.

This checks looks for references to variables that have not been declared. This is most likey a typographical error or a variable has been renamed.

To learn more about declaring variables in Javascript, see the MDN.

Loading history...
113
    navigator.serviceWorker.ready.then(registration => {
114
      registration.unregister();
115
    });
116
  }
117
}
118